/*
 * Behavior.h
 *
 *  Created on: Mar 20, 2012
 *      Author: shamirsy
 */


#ifndef BEHAVIOR_H_
#define BEHAVIOR_H_
#include "stddef.h"
#include "Robot.h"


class Behavior {
	Behavior ** _next;		//An array of next behavior pointers
	int _size;				//Number of next pointers on behavior
protected:
	Robot* _robot;
public:
	Behavior(Robot* robot);	//Constructor - initialization line
	virtual ~Behavior();
	virtual bool startCond() = 0;
	virtual bool stopCond() = 0;
	virtual void action() = 0;

	Behavior* getNext();
	void addNext(Behavior* beh);


};

#endif /* BEHAVIOR_H_ */



